package com.itheima.reggie.service;

import com.itheima.reggie.common.PageBean;
import com.itheima.reggie.common.R;
import com.itheima.reggie.dto.SetmealDishDto;
import com.itheima.reggie.dto.SetmealDto;
import com.itheima.reggie.entity.Dish;
import com.itheima.reggie.entity.Setmeal;
import com.itheima.reggie.entity.SetmealDish;

import java.util.List;

/**
 * 套餐管理业务层
 */
public interface SetmealService {
    /**
     * 分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    R<PageBean> findPage(int page, int pageSize, String name);

    /**
     * 新增套餐
     * @param setmealDto
     * @return
     */
    R<String> addSetMeal(SetmealDto setmealDto);

    /**
     * 根据id查询套餐以及套餐内菜品数据回显前端
     * @param id
     * @return
     */
    R<SetmealDto> findSetmealDtoById(Long id);

    /**
     * 更新套餐和套餐内菜品
     * @param setmealDto
     * @return
     */
    R<String> updateSetmeal(SetmealDto setmealDto);


    /**
     * 批量更新套餐状态
     * @param status
     * @param ids
     * @return
     */
    R<String> updateSetmealStatusByIds(int status, long[] ids);

    /**
     * 批量删除套餐
     * @param ids
     * @return
     */
    R<String> deleteSetmealByIds(Long[] ids);

    /**
     * 查询在售套餐
     * @param categoryId
     * @param status
     * @return
     */
    List<SetmealDto> findsetmealListById(Long categoryId, Integer status);

    R<List<SetmealDishDto>> findsetmealDishById(Long setmealId);
}
